package main

import "fmt"



func main() {

	// hannel可以声明为只读，或者只写性质
	// 1. 默认情况下，管道时双向，可读也可写
	var chan1 chan int // 可读可写
	fmt.Println(len(chan1))

	// 2. 声明为只写
	var chan2 chan <- int
	chan2 = make(chan int, 3)
	chan2 <- 20
	fmt.Println(len(chan2))
	// num2 := <- chan2 // 报错，send-only

	// 3. 声明为只读
	var chan3 <- chan int
	// num3 := <- chan3
	// chan3 <- 30 // receive-only
	fmt.Println(chan3)

}